#ifndef SERIALIZER_H
#define SERIALIZER_H

#include "mvc/model/configuration.h"
#include "common/exceptions.h"

typedef QVector<Point3D *> Dat_Points;

class Serializer
{
    public:
        Serializer() {}
        virtual void write_points_to_datfiles(const QString &path, const Configuration *c) throw(Serializer_exception) = 0;
        virtual time_zone *read_wake_zones(const QString &path, int time, double scale) throw(Serializer_exception) = 0;
        virtual void read_coefficients_loadfiles(const QString &path, const QString &file,
                                                 QVector<QString> *coefficients) = 0;
        virtual void read_loadsfiles(const QString &path, const QString &file,
                                     QMap<QString, QVector<double>> *c_values) throw(Serializer_exception) = 0;
};

#endif // SERIALIZER_H
